It is often desirable to retain records of business transactions for analytical purposes such as data mining. Recent developments in business software systems and architecture have provided this functionality in an automated fashion. FIG. 1a shows a typical scenario. Customer 150 interacts with application 209 running on transaction system 110. From time to time application 209 may generate transaction data 115, which is to be saved to transaction system database 245. These “save” events provide a trigger for the extraction of data from application 209 on transaction system 110 to analytics system 105. As noted above, transaction data 115 is extracted to analytics system 105 for storage, processing or data-mining functions. Analytics system 105 includes database management system (“DBMS”) 130 and server 125. DBMS 130 provides storage of received transaction data 115, search functionality, etc. Server 125 provides processing capabilities for analyzing and processing transaction data 115 stored in DBMS 130.
A particular example of a transaction and analytics system is the collaborative behavior of an OLTP (“Online Transaction Processing”) system and an OLAP (“Online Analytical Processing”) system. OLTP refers to a type of computer processing in which a computer system responds immediately to user requests as opposed to batch processing. Each request is considered to be a transaction. An OLAP refers to a category of software tools that provides analysis of data stored in a database. OLAP tools enable users to analyze different dimensions of multidimensional data such as time series and trend analysis views. An OLAP often is used in data mining. Typically an OLAP includes a server, which sits between a client and a database management system (“DBMS”). The OLAP server understands how data is organized in the database and has special functions for analyzing the data.
A significant technical challenge concerns the mechanism through which transaction data 115 is to be made available (i.e., transported) to analytics system 105. Intelligent design of an architecture that permits flexible and efficient extraction of data from transaction system 110 to analytics system 105 may have a significant performance impact upon the interaction between transaction system 110 and analytics system 105. In particular, it is desirable that the chosen architecture provide generic extraction of arbitrary data types without requiring reprogramming on a case by case basis. In addition, it is important that the architecture accommodate the particular data load generated by the transaction system.